STEM Learning aimed to analyse the impact that engaging with CPD has on STEM A level uptake. The Department for Education publish statistics on the uptake and attainment of A level subjects amongst 16-19 year olds. STEM Learning have access to their CPD attendance data and can identify schools and colleges who have engaged with our CPD.
This analysis explores the relationship between engagement with STEM Learning’s suite of science CPD at the National STEM Learning Centre in York and across the network of Science Learning Partnerships. We propose that engagement with KS3 and KS4 science CPD has a long-term impact on student attainment, aspirations, motivation and ultimately progression within STEM.
We predict that engagement will lead to a higher proportion of students progressing to study STEM A levels compared to non-engaged schools.
library(tidyverse)
library(plotly)
setwd("C:/Users/B.Dunn/OneDrive - STEM Learning Limited/GitHub/KS5 Uptake/KS5_uptake2019")
engagement_uptake <- read.csv("Engagement_KS5_Uptake.csv")
Our dataset shows schools who have engaged with STEM Learning CPD in the period 01 Aug 2014 to 31 July 2016 and the number of students from their Year 11 GCSE cohort who have progressed to complete at least 1 STEM A level in the periods of summer 2016, 2017, 2018 and 2019.
We can see that 2,107 secondary schools engaged with STEM Learning science CPD over this period, representing approximately 57% of secondary schools.
library(kableExtra)
engaged <- engagement_uptake %>%
group_by(engagement_all) %>%
summarise(Schools = n()) %>%
mutate(Proportion = Schools / sum(Schools))
kable(engaged, col.names = c("Engaged?", "Number of Schools", "Proportion")) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed"), full_width = F)
| Engaged? | Number of Schools | Proportion |
|---|---|---|
| 0 | 1593 | 0.4305405 |
| 1 | 2107 | 0.5694595 |
We can see the number of students who were on roll at the end of GCSE (and therefore potential could have taken STEM A levels) and also the number who actually did take at least one STEM A level. This data is shown in the exam periods of June 2016, 2017, 2018 and 2019.
uptake <- engagement_uptake %>% summarise(STEM_2019 = sum(All_1_Alevel_2019),
All_2019 = sum(All_count_2019),
STEM_2018 = sum(All_1_Alevel_2018),
All_2018 = sum(All_count_2018),
STEM_2017 = sum(All_1_Alevel_2017),
All_2017 = sum(All_count_2017),
STEM_2016 = sum(All_1_Alevel_2016),
All_2016 = sum(All_count_2016)) %>%
pivot_longer(cols = 1:8, names_to = "Who", values_to = "Students") %>%
separate(col = Who, into = c("Who", "Year"), sep = "_") %>%
pivot_wider(names_from = "Who", values_from = "Students") %>%
arrange(Year) %>%
mutate(Proportion = STEM / All) %>%
ungroup()
kable(uptake, col.names = c("Year", "Number of Students entering 1+ STEM A level", "Total GCSE Students", "% of GCSE students progressing to enter 1+ STEM A level")) %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed"), full_width = F)
| Year | Number of Students entering 1+ STEM A level | Total GCSE Students | % of GCSE students progressing to enter 1+ STEM A level |
|---|---|---|---|
| 2016 | 81347 | 557001 | 0.1460446 |
| 2017 | 86657 | 549396 | 0.1577314 |
| 2018 | 91791 | 534404 | 0.1717633 |
| 2019 | 93821 | 511059 | 0.1835815 |
uptake_plot <- ggplot(uptake, aes(x = Year, y = STEM)) +
geom_point() +
geom_line(group = 1) +
theme_bw() +
ylab("Number of Students entering at least 1 STEM A level") +
geom_text(aes(label=STEM), hjust=20, vjust=0)
uptake_plotly <- ggplotly(uptake_plot)
uptake_plotly
Overall, we can see that the number of students taking at least one STEM A level has increased over the past 4 years. Similarly, the proportion of GCSE students who progress to enter at least one STEM A level has also increased from 14.6% to 18.4%.